package com.gtw.modules.api.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.gtw.modules.entity.TbUser;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * Created by wuye on 2017/11/24.
 */
public interface TbUserService extends IService<TbUser> {

    TbUser queryByMobile(String mobile);

    void deleteBatch(Long[] userIds);

    TbUser foundById(Long userId);

    TbUser selectById(Long id);

    /**
     * 用户登录
     *
     * @param mobile   手机号
     * @param password 密码
     * @return 返回用户ID
     */
    long login(String mobile, String password);

    void save(String mobile, String password);

    void save2(TbUser tbUser);

    int update(TbUser tbyser);

    TbUser queryByUid(String uid);

    Page<TbUser> queryPageList(Page<TbUser> pageUtil, Map<String, Object> map);

    /**
     * 查询用户列表
     */
    List<TbUser> queryList(Map<String, Object> map);

    /**
     * 获取所有用户
     * @return
     */
    List<TbUser> queryAll();

    TbUser queryOpenId(String openid);

    TbUser queryWBBangd(String wbtoken, String wbopenid);

    TbUser queryQQBangd(String qqtoken, String qqopenid);

    Integer add(TbUser record);

    TbUser queryById(Integer id);

    /**
     * 获取所有用户（根据魅力值排序）
     * @return
     */
    List<TbUser> queryAllBySort();

    List<TbUser> queryAllBySort1();

    /*----------------------------------------------------------------------------------------------------------------------*/

    /**
     * 查询铁杆的总数
     * @param id
     * @return
     */
    int foundByOne(Integer id);
    List<TbUser> queryByOnd(Map<String, Object> map);

    /**
     * 查询朋友的总数
     * @param id
     * @return
     */
    int foundByTwo(Integer id);
    List<TbUser> queryByTwo(Map<String, Object> map);


    /**
     * 查询熟人的总数
     * @param id
     * @return
     */
    int foundByThree(Integer id);
    List<TbUser> queryByThree(Map<String, Object> map);


    /**
     * 查询粉丝的总数
     * @param id
     * @return
     */
    int foundByFour(Integer id);
    List<TbUser> queryByFour(Map<String, Object> map);

    /**
     * 魅力值等级查询的用户总数
     * @return
     */
    List<TbUser> queryByintegrallevel1(Integer integrallevel);

    /**
     * 根据能力值等级查询用户
     * @param energyvaluelevel
     * @return
     */
    List<TbUser> queryenergyvaluelevel(Integer energyvaluelevel);


    List<TbUser> queryByParentId(Integer userid);

}

